/*
 * PajaroRojo.cpp
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */
#include <cmath>
#include "PajaroRojo.h"
#include "Daniable.h"
#define TIPO_PAJARO_ROJO 1

PajaroRojo::PajaroRojo(double anguloDeCaida,double normaVelocidadInicial,
 double x, double y, double tiempoInicial):
		Pajaro(anguloDeCaida,normaVelocidadInicial, VIDA_PAJARO_ROJO, x, y, 
			tiempoInicial) {}

double PajaroRojo::VIDA_PAJARO_ROJO = 0.5;

double PajaroRojo::FACTOR = 0.33;


void PajaroRojo::daniar(Daniable* daniable){
	daniable->serDaniadoPorPajaroRojo();
}


void PajaroRojo::rebotar(double ticks) {
	double anguloRebote;
	double tangenteAnguloRebote;
	
	tangenteAnguloRebote = (getPosicionX() - getXinicial())/
	(getPosicionY() - getYinicial());

	if ( (getPosicionX() - getXinicial() ) < 0)
		anguloRebote = atan(tangenteAnguloRebote) + M_PI;
	else anguloRebote = atan(tangenteAnguloRebote);
	setXinicial(getPosicionX());
	setYinicial(getPosicionY());
	setAnguloCaida(anguloRebote);
	modificarVelocidadInicial(FACTOR);
}

//std::string & PajaroRojo::getImagePath() {}
void  PajaroRojo::setImagePath(std::string &path) {}


void PajaroRojo::show() {}

PajaroRojo::~PajaroRojo() {}

